package com.atguigu.jxc.dao;

import com.atguigu.jxc.domain.PurchaseCountVo;
import com.atguigu.jxc.entity.PurchaseList;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PurchaseListDao {
    //将进货单保存进数据库 传进PurchaseList对象
    void insertPurchaseList(PurchaseList purchaseList);
    //根据进货单号 得到一个进货单对象
    PurchaseList selectPurchaseListByNumber(String purchaseNumber);

    //根据页面条件 查询PurchaseListGoods
    // 进货单列表展示（可条件查询：单据号模糊、供应商、是否付款和日期区间）
    List<PurchaseList> selectPurchaseList(@Param("purchaseNumber") String purchaseNumber,@Param("supplierId") Integer supplierId,@Param("state") Integer state,@Param("sTime") String sTime,@Param("eTime") String eTime);
    //删除 进货单信息
    void removePurchaseList(Integer purchaseListId);
    //1.1、支付结算（修改进货单付款状态）
    // 将 state 改成1（已付或已退）  将paid金额 改成paybale 金额（已付金额改为 应付金额）
    void updatePurchaseList(Integer purchaseListId);
    //3.1、进货统计（可根据 商品类别、商品编码或名称 条件查询）
    List<PurchaseCountVo> countPurchaseListGoodsList(@Param("sTime") String sTime,@Param("eTime") String eTime,@Param("goodsTypeId") Integer goodsTypeId,@Param("codeOrName") String codeOrName);

}
